package com.atguigu.h_listfiles;

import java.io.File;

public class Demo3 {
    public static void main(String[] args) {
        //多级文件夹遍历
        File root = new File("C:\\Users\\WH-HKB\\Desktop\\API");

        getFile(root);
    }

    //1. 找规律 : 不断打开文件夹的动作

    //2. 找出口 : ziFIle是文件时 -> 退出

    //3. 定义方法 -> 方法有形参 (File root)

    //4. 先写出口 再写 规律

    public static void getFile(File root){
        //先写出口
        if (root.isFile()){
            //是文件 就直接输出文件名
            System.out.println("文件有 : " + root.getName());
            return;
        }

        //再写规律
        //能从上方if下来说明 是文件夹
        System.out.println("文件夹有 : " + root.getName());

        //获取文件夹根目录的所有文件和文件夹
        File[] files = root.listFiles();
        //遍历此数组
        for (File ziFile : files) {//ziFile : 子文件/子文件夹
            //重复的规律
            getFile(ziFile);
        }
    }
}
